﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="FxCopReport.xsl"?>
<FxCopReport Version="1.36">
 <Namespaces>
  <Namespace Name="MsSqlSchemaDoc.Core">
   <Messages>
    <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'Ms' in namespace name 'MsSqlSchemaDoc.Core' by changing it to 'MS'.</Issue>
    </Message>
   </Messages>
  </Namespace>
  <Namespace Name="MsSqlSchemaDoc.Core.DataStructures">
   <Messages>
    <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'Ms' in namespace name 'MsSqlSchemaDoc.Core.DataStructures' by changing it to 'MS'.</Issue>
    </Message>
   </Messages>
  </Namespace>
  <Namespace Name="MsSqlSchemaDoc.Provider.MicrosoftSqlServer">
   <Messages>
    <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'Ms' in namespace name 'MsSqlSchemaDoc.Provider.MicrosoftSqlServer' by changing it to 'MS'.</Issue>
    </Message>
   </Messages>
  </Namespace>
  <Namespace Name="MsSqlSchemaDoc.UI.CommandLine">
   <Messages>
    <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'Ms' in namespace name 'MsSqlSchemaDoc.UI.CommandLine' by changing it to 'MS'.</Issue>
    </Message>
   </Messages>
  </Namespace>
  <Namespace Name="MsSqlSchemaDoc.UI.CommandLine.Configuration">
   <Messages>
    <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
     <Issue Name="Namespace" Certainty="85" Level="Error">Correct the casing of 'Ms' in namespace name 'MsSqlSchemaDoc.UI.CommandLine.Configuration' by changing it to 'MS'.</Issue>
    </Message>
   </Messages>
  </Namespace>
 </Namespaces>
 <Targets>
  <Target Name="$(ProjectDir)/Core/bin/Debug/MsSqlSchemaDoc.Core.dll">
   <Modules>
    <Module Name="mssqlschemadoc.core.dll">
     <Messages>
      <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
       <Issue Name="Assembly" Certainty="85" Level="Error">Correct the casing of 'Ms' in assembly name 'MsSqlSchemaDoc.Core.dll' by changing it to 'MS'.</Issue>
      </Message>
     </Messages>
     <Namespaces>
      <Namespace Name="MsSqlSchemaDoc.Core">
       <Types>
        <Type Name="IScriptingManager" Kind="Interface" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#ScriptToFile(System.String,System.IO.DirectoryInfo,System.Boolean,System.String[],System.String[],System.String[],System.String[])" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="SubFolders" TypeName="CompoundWordsShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1702" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="MemberParameterShouldBeDiscreteTerm" Certainty="80" Level="Error">In member 'IScriptingManager.ScriptToFile(string, DirectoryInfo, bool, string[], string[], string[], string[])', the compound word 'SubFolders' in parameter name 'createSubFolders' exists as a discrete term. If your usage is intended to be single word, case it as 'Subfolders' or strip the first token entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="PropertyBinder" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#CopyValues(System.Data.IDataReader,System.Object,System.String[])" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="ConsiderPassingBaseTypesAsParameters" Category="Microsoft.Design" CheckId="CA1011" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="50" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="PropertyBinder.cs" Line="50">Consider changing the type of parameter 'reader' in 'PropertyBinder.CopyValues(IDataReader, object, params string[])' from 'IDataReader' to its base type 'IDataRecord'. This method appears to only require base class members in its implementation. Suppress this violation if there is a compelling reason to require the more derived type in the method signature.</Issue>
            </Message>
            <Message TypeName="DoNotRaiseReservedExceptionTypes" Category="Microsoft.Usage" CheckId="CA2201" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="TooGeneric" Certainty="95" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="PropertyBinder.cs" Line="52">'PropertyBinder.CopyValues(IDataReader, object, params string[])' creates an exception of type 'ApplicationException', an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#CopyValues(System.Object,System.Object)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="object" TypeName="IdentifiersShouldNotContainTypeNames" Category="Microsoft.Naming" CheckId="CA1720" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="LanguageIndependentMemberParameter" Certainty="75" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="PropertyBinder.cs" Line="24">In member 'PropertyBinder.CopyValues(object, object)', consider replacing the data type identifier 'object' in parameter name 'objectDestination' with a more generic term, such as 'value'.</Issue>
             <Issue Name="LanguageIndependentMemberParameter" Certainty="75" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="PropertyBinder.cs" Line="24">In member 'PropertyBinder.CopyValues(object, object)', consider replacing the data type identifier 'object' in parameter name 'objectSource' with a more generic term, such as 'value'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="ScriptingManagerBase" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#IncludeObjectTypeInScripting(System.String,System.String[],System.String[])" Kind="Method" Static="False" Accessibility="Family" ExternallyVisible="True">
           <Messages>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="ScriptingManagerBase.cs" Line="305">The 'this' parameter (or 'Me' in Visual Basic) of 'ScriptingManagerBase.IncludeObjectTypeInScripting(string, string[], string[])' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ScriptToFile(System.String,System.IO.DirectoryInfo,System.Boolean)" Kind="Method" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="2#" TypeName="ParameterNamesShouldMatchBaseDeclaration" Category="Microsoft.Naming" CheckId="CA1725" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core" File="ScriptingManagerBase.cs" Line="91">In member 'ScriptingManagerBase.ScriptToFile(string, DirectoryInfo, bool)', change parameter name 'createSubFolders' to 'createSubfolders' in order to match the identifier as it has been declared in 'IScriptingManager.ScriptToFile(string, DirectoryInfo, bool)'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="XmlSerializer" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#SerializeDataStructureObject(MsSqlSchemaDoc.Core.DataStructures.IDataStructureObject)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="System.Xml.XmlNode" TypeName="MembersShouldNotExposeCertainConcreteTypes" Category="Microsoft.Design" CheckId="CA1059" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="Xml" Certainty="75" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core\Serializers" File="XmlSerializer.cs" Line="22">Modify member 'XmlSerializer.SerializeDataStructureObject(IDataStructureObject)' so that it no longer exposes the concrete type 'XmlDocument'. Use IXPathNavigable to represent XML data sources.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
      <Namespace Name="MsSqlSchemaDoc.Core.DataStructures">
       <Types>
        <Type Name="DataStructureObjectType" Kind="Enum" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#DdlTrigger" Kind="Field" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="Ddl" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Ddl' in member name 'DataStructureObjectType.DdlTrigger' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#DmlTrigger" Kind="Field" Static="True" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="Dml" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Dml' in member name 'DataStructureObjectType.DmlTrigger' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="DdlTrigger" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message Id="Ddl" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
           <Issue Name="Type" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Ddl' in type name 'DdlTrigger'.</Issue>
          </Message>
         </Messages>
        </Type>
        <Type Name="DmlTrigger" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message Id="Dml" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
           <Issue Name="Type" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Dml' in type name 'DmlTrigger'.</Issue>
          </Message>
         </Messages>
        </Type>
        <Type Name="StoredProcedure" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Parameters" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning">Change 'StoredProcedure.Parameters' to be read-only by removing the property setter.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#XmlCDataDefinition" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="System.Xml.XmlNode" TypeName="MembersShouldNotExposeCertainConcreteTypes" Category="Microsoft.Design" CheckId="CA1059" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="Xml" Certainty="75" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Core\DataStructures" File="StoredProcedure.cs" Line="58">Modify member 'StoredProcedure.XmlCDataDefinition' so that it no longer exposes the concrete type 'XmlCDataSection'. Use IXPathNavigable to represent XML data sources.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="Table" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Columns" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning">Change 'Table.Columns' to be read-only by removing the property setter.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#Triggers" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning">Change 'Table.Triggers' to be read-only by removing the property setter.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="TableTrigger" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Events" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning">Change 'TableTrigger.Events' to be read-only by removing the property setter.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
        <Type Name="TriggerBase" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#Events" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="75" Level="Warning">Change 'TriggerBase.Events' to be read-only by removing the property setter.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ImplemenationType" Kind="Property" Static="False" Accessibility="Public" ExternallyVisible="True">
           <Messages>
            <Message Id="Implemenation" TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Name="Member" Certainty="75" Level="CriticalWarning">Correct the spelling of 'Implemenation' in member name 'TriggerBase.ImplemenationType' or remove it entirely if it represents any sort of Hungarian notation.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
     </Namespaces>
    </Module>
   </Modules>
  </Target>
  <Target Name="$(ProjectDir)/Provider.MicrosoftSqlServer/bin/Debug/MsSqlSchemaDoc.Provider.MicrosoftSqlServer.dll">
   <Modules>
    <Module Name="mssqlschemadoc.provider.microsoftsqlserver.dll">
     <Messages>
      <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
       <Issue Name="Assembly" Certainty="85" Level="Error">Correct the casing of 'Ms' in assembly name 'MsSqlSchemaDoc.Provider.MicrosoftSqlServer.dll' by changing it to 'MS'.</Issue>
      </Message>
      <Message TypeName="MarkAssembliesWithNeutralResourcesLanguage" Category="Microsoft.Performance" CheckId="CA1824" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
       <Issue Certainty="95" Level="Warning">Because assembly 'MsSqlSchemaDoc.Provider.MicrosoftSqlServer.dll' contains a ResX-based resource file, mark it with the NeutralResourcesLanguage attribute, specifying the language of the resources within the assembly. This could improve lookup performance the first time a resource is retrieved.</Issue>
      </Message>
     </Messages>
     <Namespaces>
      <Namespace Name="MsSqlSchemaDoc.Provider.MicrosoftSqlServer">
       <Types>
        <Type Name="SqlScriptingManager" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Members>
          <Member Name="#AddTriggerBaseData(MsSqlSchemaDoc.Core.DataStructures.TriggerBase,System.Data.DataTable,System.Int32&amp;)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="350">The 'this' parameter (or 'Me' in Visual Basic) of 'SqlScriptingManager.AddTriggerBaseData(TriggerBase, DataTable, ref int)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ConstructColumn(System.Data.IDataReader)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="376">The 'this' parameter (or 'Me' in Visual Basic) of 'SqlScriptingManager.ConstructColumn(IDataReader)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ConstructProcedureParameter(System.Data.IDataReader)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManagerStoredProcedures.cs" Line="106">The 'this' parameter (or 'Me' in Visual Basic) of 'SqlScriptingManager.ConstructProcedureParameter(IDataReader)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#ConstructUserDefinedFunction(System.Data.IDataReader,System.Boolean&amp;)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="75" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="435">'SqlScriptingManager.ConstructUserDefinedFunction(IDataReader, ref bool)' appears to have no upstream public or protected callers.</Issue>
            </Message>
            <Message TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="435">The 'this' parameter (or 'Me' in Visual Basic) of 'SqlScriptingManager.ConstructUserDefinedFunction(IDataReader, ref bool)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Issue>
            </Message>
            <Message Id="hasMoreProcedures" TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="95" Level="Warning" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="435">Parameter 'hasMoreProcedures' of 'SqlScriptingManager.ConstructUserDefinedFunction(IDataReader, ref bool)' is never used. Remove the parameter or use it in the method body.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#LoadTriggerData(System.Data.SqlClient.SqlConnection)" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
           <Messages>
            <Message TypeName="SetLocaleForDataTypes" Category="Microsoft.Globalization" CheckId="CA1306" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="NonBreaking">
             <Issue Certainty="90" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="273">Be sure to set the DataTable Locale property wherever 'SqlScriptingManager.LoadTriggerData(SqlConnection)' creates an instance of that type.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#Script(System.String,System.String[],System.String[],System.String[],System.String[])" Kind="Method" Static="False" Accessibility="Family" ExternallyVisible="True">
           <Messages>
            <Message Id="4#" TypeName="ParameterNamesShouldMatchBaseDeclaration" Category="Microsoft.Naming" CheckId="CA1725" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
             <Issue Certainty="95" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer" File="SqlScriptingManager.cs" Line="60">In member 'SqlScriptingManager.Script(string, string[], string[], string[], string[])', change parameter name 'objectsToExlude' to 'objectsToExclude' in order to match the identifier as it has been declared in 'ScriptingManagerBase.Script(string, string[], string[], string[], string[])'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
      <Namespace Name="MsSqlSchemaDoc.Provider.MicrosoftSqlServer.Helpers">
       <Types>
        <Type Name="DataReaderHelper" Kind="Class" Accessibility="Assembly" ExternallyVisible="False">
         <Members>
          <Member Name="#GetBool(System.Data.IDataReader,System.String)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="False">
           <Messages>
            <Message Id="System.Convert.ToBoolean(System.Object)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer\Helpers" File="DataReaderHelper.cs" Line="48">Because the behavior of 'Convert.ToBoolean(object)' could vary based on the current user's locale settings, replace this call in 'DataReaderHelper.GetBool(IDataReader, string)' with a call to 'Convert.ToBoolean(object, IFormatProvider)'. If the result of 'Convert.ToBoolean(object, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
          <Member Name="#GetInt(System.Data.IDataReader,System.String)" Kind="Method" Static="True" Accessibility="Public" ExternallyVisible="False">
           <Messages>
            <Message Id="System.Convert.ToInt32(System.Object)" TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="DependsOnFix">
             <Issue Certainty="95" Level="Error" Path="C:\Users\Henk\Projects\HJOberholzer\MsSqlSchemaDoc\Provider.MicrosoftSqlServer\Helpers" File="DataReaderHelper.cs" Line="60">Because the behavior of 'Convert.ToInt32(object)' could vary based on the current user's locale settings, replace this call in 'DataReaderHelper.GetInt(IDataReader, string)' with a call to 'Convert.ToInt32(object, IFormatProvider)'. If the result of 'Convert.ToInt32(object, IFormatProvider)' will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Issue>
            </Message>
           </Messages>
          </Member>
         </Members>
        </Type>
       </Types>
      </Namespace>
     </Namespaces>
    </Module>
   </Modules>
  </Target>
  <Target Name="$(ProjectDir)/UI.CommandLine/bin/Debug/MsSqlSchemaDoc.UI.CommandLine.exe">
   <Modules>
    <Module Name="mssqlschemadoc.ui.commandline.exe">
     <Messages>
      <Message Id="Ms" TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
       <Issue Name="Assembly" Certainty="85" Level="Error">Correct the casing of 'Ms' in assembly name 'MsSqlSchemaDoc.UI.CommandLine.exe' by changing it to 'MS'.</Issue>
      </Message>
     </Messages>
     <Namespaces>
      <Namespace Name="MsSqlSchemaDoc.UI.CommandLine">
       <Types>
        <Type Name="Program" Kind="Class" Accessibility="Public" ExternallyVisible="True">
         <Messages>
          <Message TypeName="StaticHolderTypesShouldNotHaveConstructors" Category="Microsoft.Design" CheckId="CA1053" Status="Active" Created="2008-09-26 06:54:33Z" FixCategory="Breaking">
           <Issue Certainty="90" Level="Error">Remove the public constructors from 'Program'.</Issue>
          </Message>
         </Messages>
        </Type>
       </Types>
      </Namespace>
     </Namespaces>
    </Module>
   </Modules>
  </Target>
 </Targets>
 <Rules>
  <Rule TypeName="AvoidUncalledPrivateCode" Category="Microsoft.Performance" CheckId="CA1811">
   <Name>Avoid uncalled private code</Name>
   <Description>There is uncalled code that is not externally visible and is not a known runtime entry point. If this violation fires in error, please send a problem report to the Visual Studio Code Analysis team.</Description>
   <Resolution Name="Default">{0} appears to have no upstream public or protected callers.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182264(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="PerformanceRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="CollectionPropertiesShouldBeReadOnly" Category="Microsoft.Usage" CheckId="CA2227">
   <Name>Collection properties should be read only</Name>
   <Description>Properties that return collections should be read-only so that users cannot entirely replace the backing store. Users can still modify the contents of the collection by calling relevant methods on the collection. Note that the XmlSerializer class has special support for deserializing read-only collections. See the XmlSerializer overview for more information.</Description>
   <Resolution Name="Default">Change {0} to be read-only by removing the property setter.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182327(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Warning</MessageLevel>
   <File Name="UsageRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="CompoundWordsShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1702">
   <Name>Compound words should be cased correctly</Name>
   <Description>Avoid creating compound words from terms which exist in the dictionary as discrete terms. Do not create a compound word such as 'StopWatch' or 'PopUp'. These terms are recognized in the dictionary and should be cased as 'Stopwatch' and 'Popup'.</Description>
   <Resolution Name="MemberParameterShouldBeDiscreteTerm">In member {0}, the compound word '{1}' in parameter name {2} exists as a discrete term. If your usage is intended to be single word, case it as '{3}' or strip the first token entirely if it represents any sort of Hungarian notation.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/bb264474(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="80">Error</MessageLevel>
   <File Name="NamingRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="ConsiderPassingBaseTypesAsParameters" Category="Microsoft.Design" CheckId="CA1011">
   <Name>Consider passing base types as parameters</Name>
   <Description>Using base types as parameters to methods improves re-use of these methods if you only use methods &amp; properties from the parameter's base class. E.g. use Stream instead of FileStream as a parameter when only calling Stream.Read(), this makes the method work on all kind of streams instead of just File streams.</Description>
   <Resolution Name="Default">Consider changing the type of parameter {0} in {1} from {2} to its base type {3}. This method appears to only require base class members in its implementation. Suppress this violation if there is a compelling reason to require the more derived type in the method signature.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/3hk32yyz(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="50">Error</MessageLevel>
   <File Name="DesignRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="DoNotRaiseReservedExceptionTypes" Category="Microsoft.Usage" CheckId="CA2201">
   <Name>Do not raise reserved exception types</Name>
   <Description>User code should not create and raise exceptions of certain types that are reserved by the runtime or which are of a too general exception type. Exception types that are too general include Exception, SystemException, and ApplicationException. Exception types that are reserved by the runtime include ThreadAbortException, OutOfMemoryException, ExecutionEngineException, and IndexOutOfRangeException.</Description>
   <Resolution Name="TooGeneric">{0} creates an exception of type {1}, an exception type that is not sufficiently specific and should never be raised by user code. If this exception instance might be thrown, use a different exception type.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182338(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="UsageRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="IdentifiersShouldBeCasedCorrectly" Category="Microsoft.Naming" CheckId="CA1709">
   <Name>Identifiers should be cased correctly</Name>
   <Description>Type, namespace, and member identifiers are Pascal-cased. Parameter identifiers are camel-cased. Two letter acronyms within these identifiers should be upper-cased, for example, use System.IO instead of System.Io. Acronyms of three or more letters should be Pascal-cased, for example, use System.Xml instead of System.XML. The pascal-casing convention capitalizes the first letter of each word, as in BackColor. The camel-casing convention formats the first letter of the first word in lowercase and capitalizes the first letter of all subsequent words, as in backgroundColor. Although it may be common practice for some two letter acronyms to not be fully capitalized, violations of this rule should not be excluded for this reason. For example, 'DbConnection', is common but incorrect; use DBConnection. A violation of this rule might be required for compatibility with existing, non-managed symbol schemes. In general, however, these symbols should not be visible outside the assembly that uses them.</Description>
   <Resolution Name="Assembly">Correct the casing of '{0}' in assembly name {1} by changing it to '{2}'.</Resolution>
   <Resolution Name="Namespace">Correct the casing of '{0}' in namespace name '{1}' by changing it to '{2}'.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182240(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="85">Error</MessageLevel>
   <File Name="NamingRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="IdentifiersShouldBeSpelledCorrectly" Category="Microsoft.Naming" CheckId="CA1704">
   <Name>Identifiers should be spelled correctly</Name>
   <Description>The individual words that make up an identifier should not be abbreviated and should be spelled correctly. If this rule generates a false positive on a term that should be recognized, add the word to the FxCop custom dictionary.</Description>
   <Resolution Name="Member">Correct the spelling of '{0}' in member name {1} or remove it entirely if it represents any sort of Hungarian notation.</Resolution>
   <Resolution Name="Type">Correct the spelling of '{0}' in type name {1}.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/bb264492(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">CriticalWarning</MessageLevel>
   <File Name="NamingRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="IdentifiersShouldNotContainTypeNames" Category="Microsoft.Naming" CheckId="CA1720">
   <Name>Identifiers should not contain type names</Name>
   <Description>Avoid using language-specific types name in parameters and members and data type identifiers in parameters. Types names might not be intuitive for all developers. It is recommended that you select a generic name, such as 'value', instead. If this is not sufficient, be sure to use the type name as it is defined in the .NET Framework Library and avoid language-specific type names completely. Some examples of C#-specific type names are 'float' (use 'Single' if a generic name is not sufficient), and 'ulong' (use 'UInt64' if a generic name is not sufficient).</Description>
   <Resolution Name="LanguageIndependentMemberParameter">In member {0}, consider replacing the data type identifier '{1}' in parameter name {2} with a more generic term, such as 'value'.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182234(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Error</MessageLevel>
   <File Name="NamingRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="MarkAssembliesWithNeutralResourcesLanguage" Category="Microsoft.Performance" CheckId="CA1824">
   <Name>Mark assemblies with NeutralResourcesLanguageAttribute</Name>
   <Description>The NeutralResourcesLanguage attribute informs the ResourceManager of the language used to render the neutral culture's resources for an assembly. When looking up resources in the same culture as the neutral resources language, the ResourceManager automatically uses the resources located in the main assembly, instead of searching for a satellite assembly with the current user interface culture for the current thread. This will improve lookup performance for the first resource you load and can reduce your working set.</Description>
   <Resolution Name="Default">Because assembly {0} contains a ResX-based resource file, mark it with the NeutralResourcesLanguage attribute, specifying the language of the resources within the assembly. This could improve lookup performance the first time a resource is retrieved.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/bb385967(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="PerformanceRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="MarkMembersAsStatic" Category="Microsoft.Performance" CheckId="CA1822">
   <Name>Mark members as static</Name>
   <Description>Methods which do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After doing so, the compiler will emit non-virtual call sites to these members which will prevent a check at runtime for each call that ensures the current object pointer is non-null. This can result in a measurable performance gain for performance-sensitive code. In some cases, the failure to access the current object instance represents a correctness issue.</Description>
   <Resolution Name="Default">The 'this' parameter (or 'Me' in Visual Basic) of {0} is never used. Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body or at least one property accessor, if appropriate.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms245046(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="PerformanceRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="MembersShouldNotExposeCertainConcreteTypes" Category="Microsoft.Design" CheckId="CA1059">
   <Name>Members should not expose certain concrete types</Name>
   <Description>Members should not expose certain concrete types.</Description>
   <Resolution Name="Xml">Modify member {0} so that it no longer exposes the concrete type {1}. Use IXPathNavigable to represent XML data sources.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182160(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="75">Error</MessageLevel>
   <File Name="DesignRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="ParameterNamesShouldMatchBaseDeclaration" Category="Microsoft.Naming" CheckId="CA1725">
   <Name>Parameter names should match base declaration</Name>
   <Description>For usability reasons, parameter names in overridden methods should match those of the base declaration.</Description>
   <Resolution Name="Default">In member {0}, change parameter name {1} to {2} in order to match the identifier as it has been declared in {3}.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182251(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="NamingRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="ReviewUnusedParameters" Category="Microsoft.Usage" CheckId="CA1801">
   <Name>Review unused parameters</Name>
   <Description>Review parameters in non-virtual methods that are not used in the method body to ensure no correctness exists around failure to access them. Unused parameters incur maintenance and performance costs. Sometimes a violation of this rule can point to an implementation bug in the method (i.e. the parameter should actually have been used in the method body). Exclude warnings of this rule if the parameter has to exist because of backward compatibility.</Description>
   <Resolution Name="Default">Parameter {0} of {1} is never used. Remove the parameter or use it in the method body.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182268(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Warning</MessageLevel>
   <File Name="UsageRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="SetLocaleForDataTypes" Category="Microsoft.Globalization" CheckId="CA1306">
   <Name>Set locale for data types</Name>
   <Description>In most cases, Locale should be explicitly set to CultureInfo.InvariantCulture on DataSet and DataTable instances. Upon creation of a DataSet or DataTable instance, the Locale is set to the current culture. In most cases, the Locale should be set to CultureInfo.InvariantCulture to guarantee proper sorting behavior in all cultures.</Description>
   <Resolution Name="Default">Be sure to set the {0} Locale property wherever {1} creates an instance of that type.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182188(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="90">Error</MessageLevel>
   <File Name="GlobalizationRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="SpecifyIFormatProvider" Category="Microsoft.Globalization" CheckId="CA1305">
   <Name>Specify IFormatProvider</Name>
   <Description>If an overload exists that takes an IFormatProvider argument, it should always be called in favor of an overload that does not. Some methods in the runtime convert a value to or from a string representation and take a string parameter that contains one or more characters, called format specifiers, which indicate how the value is to be converted. If the meaning of the format specifier varies by culture, a formatting object supplies the actual characters used in the string representation. In scenarios where sorting and comparison behavior should never change between cultures, specify CultureInfo.InvariantCulture, otherwise, specify CultureInfo.CurrentCulture.</Description>
   <Resolution Name="Default">Because the behavior of {0} could vary based on the current user's locale settings, replace this call in {1} with a call to {2}. If the result of {2} will be displayed to the user, specify 'CultureInfo.CurrentCulture' as the 'IFormatProvider' parameter. Otherwise, if the result will be stored and accessed by software, such as when it is persisted to disk or to a database, specify 'CultureInfo.InvariantCulture'.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182190(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="95">Error</MessageLevel>
   <File Name="GlobalizationRules.dll" Version="9.0.0.0" />
  </Rule>
  <Rule TypeName="StaticHolderTypesShouldNotHaveConstructors" Category="Microsoft.Design" CheckId="CA1053">
   <Name>Static holder types should not have constructors</Name>
   <Description>Instances of types that define only static members do not need to be created. Many compilers will automatically add a public default constructor if no constructor is specified. To prevent this, adding an empty private constructor may be required.</Description>
   <Resolution Name="Default">Remove the public constructors from {0}.</Resolution>
   <Owner />
   <Url>http://msdn2.microsoft.com/library/ms182169(VS.90).aspx</Url>
   <Email>[none]</Email>
   <MessageLevel Certainty="90">Error</MessageLevel>
   <File Name="DesignRules.dll" Version="9.0.0.0" />
  </Rule>
 </Rules>
 <Localized>
  <String Key="Category">Category</String>
  <String Key="Certainty">Certainty</String>
  <String Key="CollapseAll">Collapse All</String>
  <String Key="CheckId">Check Id</String>
  <String Key="Error">Error</String>
  <String Key="Errors">error(s)</String>
  <String Key="ExpandAll">Expand All</String>
  <String Key="Help">Help</String>
  <String Key="Line">Line</String>
  <String Key="Messages">message(s)</String>
  <String Key="LocationNotStoredInPdb">[Location not stored in Pdb]</String>
  <String Key="Project">Project</String>
  <String Key="Resolution">Resolution</String>
  <String Key="Rule">Rule</String>
  <String Key="RuleFile">Rule File</String>
  <String Key="RuleDescription">Rule Description</String>
  <String Key="Source">Source</String>
  <String Key="Status">Status</String>
  <String Key="Target">Target</String>
  <String Key="Warning">Warning</String>
  <String Key="Warnings">warning(s)</String>
  <String Key="ReportTitle">Code Analysis Report</String>
 </Localized>
</FxCopReport>
